1. Практика

Как программисту оставаться «в теме»? 7 советов для тех, кто хочет шагать в ногу с изменениями в мире IT

Делать личные проекты, ходить на конференции и даже читать описания вакансий

© Unsplash

В про­грам­ми­ро­ва­нии и IT что-то ме­ня­ет­ся каж­дый день, и если немно­го от­стать от по­вест­ки, мож­но на­дол­го остать­ся в чис­ле до­го­ня­ю­щих. То, что класс­но ра­бо­та­ло два года на­зад, се­го­дня мо­жет ока­зать­ся уста­рев­шей ни­ко­му не нуж­ной тех­но­ло­ги­ей, по­это­му по­беж­да­ет тот, кто уме­ет схва­ты­вать на лету и быст­ро обу­чать­ся. О том, как оста­вать­ся в теме в стре­ми­тель­но раз­ви­ва­ю­щем­ся мире IT-тех­но­ло­гий, спе­ци­аль­но для «Цеха» на­пи­сал Алек­сандр Тре­гер, ру­ко­во­ди­тель служ­бы раз­ра­бот­ки об­ра­зо­ва­тель­но­го сер­ви­са Ян­декс.Прак­ти­кум.




Каж­до­му спе­ци­а­ли­сту важ­но знать, что про­ис­хо­дит в его от­рас­ли, но про­грам­ми­сту это жиз­нен­но необ­хо­ди­мо. IT — одна из са­мых ди­на­мич­ных от­рас­лей, здесь по­сто­ян­но по­яв­ля­ет­ся что-то но­вое. На­при­мер, о мо­биль­ном раз­ра­бот­чи­ке 15 лет на­зад еще ни­че­го не слы­ша­ли, а се­го­дня это одна из са­мых вы­со­ко­опла­чи­ва­е­мых и вос­тре­бо­ван­ных спе­ци­аль­но­стей. То же ка­са­ет­ся и тех­но­ло­гий: ко­гда Node.js толь­ко за­рож­дал­ся, очень непри­выч­но было ви­деть JavaScript на сер­ве­ре, а сей­час это уже стан­дарт, хотя про­шло очень мало вре­ме­ни.

Ко­гда раз­ра­бот­чик зна­ет, что про­ис­хо­дит в его сфе­ре, ему уда­ет­ся де­лать свою ра­бо­ту эф­фек­тив­нее за счет тех­но­ло­ги­че­ских но­ви­нок, он ста­но­вит­ся бо­лее кон­ку­рен­то­спо­соб­ным, изоб­ре­та­ет мень­ше «ве­ло­си­пе­дов» и про­ек­ти­ру­ет ар­хи­тек­ту­ру сво­их си­стем так, что­бы оста­вал­ся за­дел на даль­ней­ший рост и раз­ви­тие. Быть в теме и по­сто­ян­но раз­ви­вать­ся — это су­пер­важ­но, это от­кры­ва­ет мно­же­ство две­рей. Помни­те, как ев­ро­пей­цы ко­ло­ни­зи­ро­ва­ли по­ло­ви­ну мира толь­ко бла­го­да­ря тому, что ис­поль­зо­ва­ли пе­ре­до­вые тех­но­ло­гии?

Усле­дить сра­зу за всем непро­сто, но есть по­пу­ляр­ные ре­сур­сы для про­грам­ми­стов, ко­то­рые по­мо­га­ют не вы­па­дать из кон­тек­ста: на­при­мер, Habr или VC. Хо­ро­шая прак­ти­ка — под­пи­сать­ся на рас­сыл­ки, бло­ги и те­ле­грам-ка­на­лы тех ин­стру­мен­тов, ко­то­ры­ми ты по­сто­ян­но поль­зу­ешь­ся. Непло­хо так­же за­ве­сти при­выч­ку на­чи­нать день с про­ли­сты­ва­ния те­ма­ти­че­ских ре­сур­сов, как де­ла­ют мно­гие успеш­ные люди, что­бы быть в кур­се ак­ту­аль­ной по­вест­ки дня.

А вот несколь­ко ре­ко­мен­да­ций, ко­то­рые по­мо­га­ют мне са­мо­му оста­вать­ся в теме и быть в кур­се тех­но­ло­ги­че­ских но­ви­нок.

  1. Ста­вить но­вые цели и кри­ти­че­ски оце­ни­вать су­ще­ству­ю­щие ре­ше­ния. Если ты од­на­жды на­шел ра­бо­та­ю­щий спо­соб ре­ше­ния той или иной за­да­чи, и при­ме­ня­ешь его сно­ва и сно­ва, это при­во­дит к стаг­на­ции. Каж­дую за­да­чу мож­но ре­шить быст­рее и луч­ше, и если ты по­сто­ян­но на­хо­дишь­ся в по­ис­ке от­ве­тов, это непло­хо рас­ши­ря­ет кру­го­зор и поз­во­ля­ет по­вы­шать свой про­фес­си­о­наль­ный уро­вень. Про­грам­ми­ро­ва­ние — мое хоб­би со школь­ных лет, при этом я не за­кан­чи­вал ни­ка­ких кур­сов (их так та­ко­вых и не было то­гда), а для обу­че­ния ис­поль­зо­вал как раз та­кой ме­тод: ста­вил сам себе за­да­чи, а по­том на­хо­дил спо­со­бы их ре­ше­ния.
  2. Де­лать соб­ствен­ные про­ек­ты. В ра­бо­те важ­но все­гда на­хо­дить вре­мя на то, что­бы «про­щу­пать» на прак­ти­ке но­вую тех­но­ло­гию. В круп­ных IT-ком­па­ни­ях со­труд­ни­ку вы­де­ля­ют вре­мя на то, что­бы он мог за­нять­ся чем-то еще по­ми­мо те­ку­щих про­ек­тов. Ос­нов­ная цен­ность этой прак­ти­ки — воз­мож­ность по­тро­гать тех­но­ло­гию ру­ка­ми. Это со­всем не то же са­мое, что по­слу­шать до­клад или про­чи­тать ста­тью.
  3. Чи­тать опи­са­ния ва­кан­сий. Это по­мо­га­ет оце­нить, что про­ис­хо­дит на рын­ке: ка­кие тех­но­ло­гии пре­об­ла­да­ют, ка­кие под­хо­ды ис­поль­зу­ют­ся, ка­кие кад­ры це­нят­ся. Если ка­кая-то тех­но­ло­гия «вы­стре­ли­ва­ет», и все на­чи­на­ют ее внед­рять, а ком­па­нии ак­тив­но хан­тят та­ких спе­ци­а­ли­стов, то на это сто­ит об­ра­тить вни­ма­ние.
  4. Хо­дить на кон­фе­рен­ции или смот­реть их в за­пи­си. Кон­фе­рен­ция — это непло­хой «срез» ак­ту­аль­ных из­ме­не­ний в от­рас­ли. При этом, если ты фрон­тен­дер, это не зна­чит, что нуж­но хо­дить толь­ко на фрон­тен­дер­ские ме­ро­при­я­тия: ино­гда бы­ва­ет по­лез­но взгля­нуть на свою спе­ци­аль­ность под дру­гим уг­лом. Важ­но не за­цик­ли­вать­ся на од­ной теме, а вни­ма­тель­но смот­реть по сто­ро­нам.
  5. При­ме­нять ре­верс-ин­жи­ни­ринг. Это ра­бо­та­ет не все­гда, но для веб-раз­ра­бот­чи­ка мо­жет быть очень кста­ти. Смот­ри­те ис­ход­ный код сай­та, что­бы по­нять, как он сде­лан и ка­кие тех­но­ло­гии там «под ка­по­том». Ино­гда та­кой под­ход поз­во­ля­ет най­ти по­лез­ные баги. На­при­мер, од­на­жды я за­ка­зы­вал пи­ро­ги на сай­те, где дату до­став­ки че­рез фор­му мож­но было уста­но­вить толь­ко на несколь­ко дней впе­ред. Там не было сер­вер­ной ва­ли­да­ции, я немнож­ко под­пра­вил код фор­мы и офор­мил себе до­став­ку на сле­ду­ю­щий день. Но учить­ся мож­но не толь­ко на ба­гах. Если вам нра­вит­ся, как что-то ре­а­ли­зо­ва­но у кол­лег или кон­ку­рен­тов, по­ищи­те, как это сде­ла­но: воз­мож­но, раз­ра­бот­чи­ки рас­ска­зы­ва­ли об этом на кон­фе­рен­ции или в ста­тье.
  6. Чи­тать ис­ход­ни­ки по­пу­ляр­ных опен­сорс-про­ек­тов. В та­ких про­ек­тах кон­три­бьютят очень мно­го раз­ра­бот­чи­ков, здесь про­ис­хо­дит на­коп­ле­ние опы­та класс­ных спе­ци­а­ли­стов, под­бор­ка луч­ших прак­тик. Опен­сор­сят, к при­ме­ру, Ян­декс и Гугл, и из это­го ис­точ­ни­ка мож­но по­черп­нуть зна­ния и тех­но­ло­гии для сво­е­го про­ек­та и вы­ве­сти его на но­вый уро­вень.
  7. Об­щать­ся с кол­ле­га­ми. У каж­до­го спе­ци­а­ли­ста есть свой опыт и кри­ти­че­ский взгляд, и вза­им­ный об­мен зна­ни­я­ми по­мо­га­ет кру­то про­ка­чи­вать­ся. Спра­ши­вай­те кол­лег, как они ре­а­ли­зо­ва­ли то или иное ре­ше­ние, устра­и­вай­те ми­та­пы внут­ри ко­ман­ды, что­бы об­су­дить идеи и ги­по­те­зы. Вы­яс­ни­те, что ду­ма­ют ваши кол­ле­ги по по­во­ду ре­ше­ния, ко­то­рое со­би­ра­е­тесь при­ме­нить вы: ино­гда про­стой раз­го­вор мо­жет на­толк­нуть на класс­ную све­жую идею.

Если го­во­рить об ис­точ­ни­ках зна­ний для про­грам­ми­стов, то у каж­до­го тут бу­дут свои под­бор­ки, в за­ви­си­мо­сти от про­фи­ля де­я­тель­но­сти, уров­ня зна­ний и кру­га ин­те­ре­сов. Вот несколь­ко по­лез­ных ре­сур­сов, ко­то­рые ре­гу­ляр­но мо­ни­то­рю я сам:

И на­по­сле­док. Что­бы оста­вать­ся в кур­се клю­че­вых со­бы­тий в от­рас­ли, не нуж­но ка­ким-то осо­бен­ным об­ра­зом пла­ни­ро­вать свое вре­мя или вы­де­лять на обу­че­ние стро­го несколь­ко ча­сов в день. Если вы вы­стро­и­те свой ра­бо­чий про­цесс так, что­бы по­сто­ян­но учить­ся и ис­сле­до­вать но­вые го­ри­зон­ты, ста­вить себе слож­ные за­да­чи и на­хо­дить для них ре­ше­ния, то бу­де­те очень ор­га­нич­но и есте­ствен­но по­спе­вать за все­ми из­ме­не­ни­я­ми.